package cn.com.oceansoft.business.sys.service;


import cn.com.oceansoft.business.base.entity.Pager;
import cn.com.oceansoft.business.base.entity.Query;
import cn.com.oceansoft.business.base.entity.Result;
import cn.com.oceansoft.business.sys.entity.SysRole;

import java.util.List;

/**
 * Description
 *
 * @author: chenw
 * @time: 2014-5-14 下午 15:15
 */
public interface ISysRoleService {
    /**
     * 分页查询系统角色信息
     *
     * @param query 查询参数
     * @return Pager<SysRole>
     */
    Pager<SysRole> findPageByCondition(Query query);

    /**
     * 新增系统角色
     *
     * @param role 角色信息实体类
     * @return Result
     */
    Result save(SysRole role);

    /**
     * 系统角色信息更新
     *
     * @param role 角色信息实体类
     * @return Result
     */
    Result update(SysRole role);

    /**
     * 根据ID加载角色信息
     *
     * @param roleId 角色ID
     * @return SysRole
     */
    SysRole findById(int roleId);

    Result deleteRoleById(int roleId);

    /**
     * 加载用户与角色权限树
     *
     * @param userId 用户ID
     * @return List<SysRole>
     */
    List<SysRole> findRoleByUserId(String userId);
}
